/* DroidBeard - a free, open-source Android app for managing SickBeard Copyright (C) 2014-2015 Robert Carr This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. */ package com.rastating.droidbeard.net; import android.content.Context; import android.util.Pair; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class EpisodeSearchTask extends SickbeardAsyncTask<Void, Void, Boolean> { private long mTvDBId; private int mSeason; private int mEpisode; protected static BlockingQueue BLOCKING_QUEUE = new ArrayBlockingQueue(100); protected static ThreadPoolExecutor EXECUTOR = new ThreadPoolExecutor(10, 100, 5, TimeUnit.SECONDS, BLOCKING_QUEUE); public EpisodeSearchTask(Context context, long tvdbid, int season, int episode) { super(context); mTvDBId = tvdbid; mSeason = season; mEpisode = episode; } @Override protected Boolean doInBackground(Void... voids) { List<Pair<String, Object>> params = new ArrayList<Pair<String, Object>>(); params.add(new Pair<String, Object>("tvdbid", mTvDBId)); params.add(new Pair<String, Object>("season", mSeason)); params.add(new Pair<String, Object>("episode", mEpisode)); String json = getJson("episode.search", params); try { return json != null && json.contains("success"); } catch (Exception e) { setLastException(json, e); e.printStackTrace(); return false; } } @Override public void start(Void... args) { super.start(EpisodeSearchTask.EXECUTOR, args); } }